package appgrafica1;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;

public class NodoArbol {
    int dato;
    int ValorHeuristico;
    NodoArbol HijoIzq;
    NodoArbol HijoDer;

    public NodoArbol(int valor,int heuristico)
    {
        dato=valor;
        ValorHeuristico=heuristico;
        HijoIzq=HijoDer=null;
    }

    public void InsertarNodo(int insertarValor, int insetarHeuristico)
    {
        if(insertarValor < dato)
        {
            if(HijoIzq==null)
            {
                HijoIzq= new NodoArbol(insertarValor,insetarHeuristico);
            }
            else
            {
                HijoIzq.InsertarNodo(insertarValor, insetarHeuristico);
            }
        }
        if(insertarValor > dato)
        {
            if(HijoDer==null)
            {
                HijoDer= new NodoArbol(insertarValor,insetarHeuristico);
            }
            else
            {
                HijoDer.InsertarNodo(insertarValor, insetarHeuristico);
            }
        }
    }
    public NodoArbol BuscarNodoArbol(NodoArbol nodo,int valor)
    {
        if(nodo.dato==valor)
            return nodo;
        else if(nodo.dato > valor)
         return BuscarNodoArbol(nodo.HijoIzq,valor);
     else if(nodo.dato<valor)
         return BuscarNodoArbol(nodo.HijoDer,valor);
     else
         return null;
    }
    public boolean BusquedaNodo(int valor)
    {
     if(this.dato>valor)
         return HijoIzq.BusquedaNodo(valor);
     else if(this.dato<valor)
         return HijoDer.BusquedaNodo(valor);
     else
         return true;
    }
    public void DibujarNodo(Graphics g,int x,int y)
    {
        g.setColor(Color.BLACK);
        g.drawString(String.valueOf(dato), x+15, y+15);
        g.setColor(Color.red);
        g.drawOval(x, y, 30, 30);
    }
}
